# Class: sysinit
#
# This module manages sysinit
#
# Parameters: none
#
# Actions:
#
# Requires: see Modulefile
#
# Sample Usage:
#
class sysinit (
  $selinux_enable   = $sysinit::params::selinux_enable,
  $idle_tmout       = $sysinit::params::idle_tmout,
  $his_format       = $sysinit::params::his_format,
  $allow_root_login = $sysinit::params::allow_root_login,
  $max_openfile     = $sysinit::params::max_openfile,
  $max_process      = $sysinit::params::max_process,
  #config repo
  $manage_repo      = $sysinit::params::manage_repo,
  $yum_server_url   = $sysinit::params::yum_server_url,
  #config snmp
  $manage_snmp      = $sysinit::params::manage_snmp,
  $snmp_community   = $sysinit::params::snmp_community,
  $snmp_server      = $sysinit::params::snmp_server,
  #config root's password
  $root_pwd         = $sysinit::params::root_pwd,
) inherits sysinit::params {
  
  validate_bool($manage_repo)
  validate_bool($manage_snmp)
  
  include sysinit::selinux
  include sysinit::profile
  include sysinit::sshd
  include sysinit::ulimit

  include sysinit::repo

  if $manage_snmp == true {
    include sysinit::snmp
  }
  
  if $root_pwd {
    include sysinit::root
  }
  
}